package chapter03.s05this.example11;

// this 表示当前对象

// 3. 通过this访问构造函数
// 只能在构造方法中使用this调用其他的构造方法
// 必须位于第一行，且只能出现一次

class Student {
    private String name;
    private int age;

    public Student() {
        System.out.println("无参的构造方法，实例化了一个新的Student对象。");
    }

    public Student(String name) {
        // 调用无参的构造方法
        // 只能在构造方法中使用this调用其他的构造方法
        // 必须位于第一行，且只能出现一次
        this();
        this.name = name;
    }

    public Student(String name, int age) {
        // 调用有参的构造方法
        // 只能在构造方法中使用this调用其他的构造方法
        // 必须位于第一行，且只能出现一次
        this(name);

        this.name = name;
        this.age = age;
    }

    public String read() {
        return "我是:" + name + ",年龄:" + age;
    }
}

public class Example11 {
    public static void main(String[] args) {
        Student stu = new Student("张三", 18); // 实例化 Student对象
        System.out.println(stu.read());
    }
}
